Source code for src.cmd.stage

from util import segment_run_map
from ..util import check_file
from ..configuration import config, db_info
from ..db import create_db, create_lookups
from ..metadata import create_segment_metadata

[docs]def stage(cmd): args = cmd.args _segments = [segment_run_map[seg] for seg in args.segments.split('|')] #stage the databases try: print "Staging data..." print "...Stage databases..." if not args.no_db: for id in ('stand', 'recid'): create_db(db_info[id]) create_lookups(db_info[id]) print '...databases staged...' print '...create segment metadata...' create_segment_metadata(config.meta_dir) print '...metadata created...' print '...database staging complete.' except: if args.verbose: raise else: print "Problem creating database." print "Aborting stage and terminating program." sys.exit(1) #set the run options opt = {'in_dir': check_file(args.in_dir, as_dir = True), 'meta_dir': check_file(config.meta_dir, as_dir = True), 'in_format': 'del', 'in_delimiter': '|', 'original': True, 'verbose': args.verbose, 'db_info': args.db_info['stand'], } #run the subject segment and wait for completion if 'subject' in _segments: _opt = opt.copy() _opt['segment'] = 'subject' cmd.task_queue.put(_opt) cmd.start() # start the subject worker cmd.task_queue.join() #wait until subject worker is complete for segment in _segments: if segment == 'subject': continue _opt = opt.copy() _opt['segment'] = segment cmd.task_queue.put(_opt) cmd.start() # start the subject worker cmd.task_queue.join() #wait until subject worker is complete cmd.flush() #flush the cmd logs print "...done."